<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // 1. 封装 随机生成四位数的验证码 的函数
    
    // 四个0~9数，拼接
    function randomNum(){
        var str = "";
        for(var i=0;i<4;i++){
            str += random(0,9)
        }
        return str;
    }
    // console.log( randomNum() );

    // 2. 封装 随机生成十六进制的颜色值 的函数
    // r       g       b
    // 0~255
    function randomColor16(){
        var r = random(0,255).toString(16);
        var g = random(0,255).toString(16);
        var b = random(0,255).toString(16);

        return "#" + createZero(r) + createZero(g) + createZero(b);
    }

    function createZero(n){
        return n.length < 2 ? "0"+n : n;
    }
    // console.log( randomColor16() );


    // 3. 封装 随机生成rgb的颜色值 的函数
    function randomColorRGB(){
        return "rgb("+ random(0,255) +", "+ random(0,255) +", "+ random(0,255) +")";
    }
    // console.log( randomColorRGB() );


    // 4. 封装 随机生成四位数字字母混合的验证码 的函数
    // 随机字母：先随机字母对应的Unicode编码，再将编码转成字符，得到随机字母
    // a~z：97~122
    // A~Z：65~90
    // 0~9

    function randomStr(){
        // 为了保证每种数据的重复和顺序都是随机
        // 先生成一个随机字符库，长度大于4
        var str = ""
        for(var i=0;i<10;i++){
            var a = String.fromCharCode( random(97,122) );
            var b = String.fromCharCode( random(65,90) );
            var c = random(0,9);
            str += a + b + c;
        }
        // 再从随机字符库中，随机取4个
        var s = ""
        for(var i=0;i<4;i++){
            s += str[ random(0, str.length-1) ]
        }
        return s;
    }
    // console.log( randomStr() )



    function random(max,min){
        return Math.round(Math.random()*(max-min)+min);
    }
</script>
</html>